きっかけ (2020-12-16)
https://github.com/riku1227/BSQuest-QuestDarthMaul
こちらのmodをbeatsaberの最新版に対応させたいと思った(なお結局できてない模様)
だが基本的なことはちょっとわかったのでまとめる
こちらのmodをbeatsaberの最新版に対応させたいと思った(なお結局できてない模様)
だが基本的なことはちょっとわかったのでまとめる
準備 (2020-12-16)
PCに入れておくもの
- beatsaberで使用されているバージョンのUnity(現在最新バージョンの1.13では2019.3.15)
- Android SDK (というかadb)
- Android NDK
- SideQuest (wifi adbを使うため。別になくてもいい)
- 好きなエディタ(vscodeを使ったけどもっといいのがあるのかな・・・?)
Questに入れておくもの
- BMBF導入済みbeatsaber (あたりまえだけど)
(2020-12-16)
基本的にはsc2adという方のgithubを見るのが良い。大体この方が作ったものを使う。
ライブラリ
- beatsaber-hook
GitHub - sc2ad/beatsaber-hook: poc for oculus quest beatsaber function hooking (il2cpp)
poc for oculus quest beatsaber function hooking (il2cpp) - sc2ad/beatsaber-hook
github.com
beatsaberが何か処理をする前に好きな動作を注入できる要となるライブラリ
- modloader
beatsaber-hookをビルドするのに必要だったけどbeatsaber-hookのバイナリを拾ってくればいらないはず? - BeatSaber-Quest-Codegen
GitHub - sc2ad/BeatSaber-Quest-Codegen: A repo for Quest Il2Cpp auto-generated libraries.
A repo for Quest Il2Cpp auto-generated libraries. Contribute to sc2ad/BeatSaber-Quest-Codegen development by creating an account on GitHub.
github.com
beatsaber-hookではメソッドを呼び出すのに文字列で呼び出さないといけなかったりするがこれを使うといい感じに呼び出すことができる。自動生成されているらしい。
こちらのバイナリにbeatsaber-hookが付属していたのでbeatsaber-hookをビルドする必要はない、はず。まだ使っていない。
こちらのバイナリにbeatsaber-hookが付属していたのでbeatsaber-hookをビルドする必要はない、はず。まだ使っていない。
作る (2020-12-16)
まずどこかからひな形としてプロジェクトを持ってくるのがよい。自分は上のmodのプロジェクトを使ったけどどのmodも同じような感じだからどこかにテンプレートがあるのかも?
主に手順としては
- ndkpath.txtにndkのパスを記述
- bmbfmod.jsonをいい感じに書き換える
- ライブラリのバイナリとヘッダーファイルをextern/以下に入れる
- Android.mkをいい感じに書き換える
- src/main.cpp以下にいろいろ書き換える
Android.mkは正直よくわかってないがとりあえず以下のようにした
あとは気合
VSCodeのincludePathの指定がよくわからない
VSCodeのincludePathの指定がよくわからない